GtkWidget *widget;
gint width, height;
float baseline_align;
+ gint xpad, ypad;
widget = gtk_css_gadget_get_owner (gadget);
_gtk_icon_helper_get_size (GTK_IMAGE (widget)->priv->icon_helper,
&width, &height);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+ gtk_misc_get_padding (GTK_MISC (widget), &xpad, &ypad);
+ width += 2 * xpad;
+ height += 2 * ypad;
+G_GNUC_END_IGNORE_DEPRECATIONS
+
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
*minimum = *natural = width;
GtkImagePrivate *priv;
gint w, h, baseline;
gfloat xalign, yalign;
+ gint xpad, ypad;
widget = gtk_css_gadget_get_owner (gadget);
image = GTK_IMAGE (widget);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_misc_get_alignment (GTK_MISC (image), &xalign, &yalign);
+ gtk_misc_get_padding (GTK_MISC (image), &xpad, &ypad);
G_GNUC_END_IGNORE_DEPRECATIONS
if (gtk_widget_get_direction (widget) != GTK_TEXT_DIR_LTR)
baseline = gtk_widget_get_allocated_baseline (widget);
- x += floor ((width - w) * xalign);
+ x += floor ((width - 2 * xpad - w) * xalign + xpad);
if (baseline == -1)
- y += floor ((height - h) * yalign);
+ y += floor ((height - 2 * ypad - h) * yalign + ypad);
else
- y += CLAMP (baseline - h * gtk_image_get_baseline_align (image),
- 0, height - h);
+ y += CLAMP (baseline - h * gtk_image_get_baseline_align (image), ypad, height - 2 * ypad - h);
if (gtk_image_get_storage_type (image) == GTK_IMAGE_ANIMATION)
{